home *** CD-ROM | disk | FTP | other *** search
/ InfoMagic Internet Tools 1993 July / Internet Tools.iso / RockRidge / security / xinetd / xinetd.2.0.6 / Makefile < prev    next >
Encoding:
Makefile  |  1993-01-22  |  8.6 KB  |  292 lines

  1. # (c) Copyright 1992 by Panagiotis Tsirigotis
  2. # All rights reserved.  The file named COPYRIGHT specifies the terms 
  3. # and conditions for redistribution.
  4.  
  5. #
  6. # $Id: Makefile,v 5.18 1993/01/23 02:04:43 panos Exp $
  7. #
  8. # Based on Program makefile template: *Revision: 1.14 *
  9. #
  10.  
  11. #
  12. # Available entries:
  13. #        $(NAME)        --> create the program (this is the default target)
  14. #        install        --> install the program (and man page)
  15. #        uninstall    --> uninstall the program (and man page)
  16. #        clean            --> cleanup
  17. #        spotless        --> clean + uninstall
  18. #         lint            --> lints a specific file (usage: make lint MODULE=foo.c)
  19. #        lintall        --> lint all files
  20. #        tags            --> creates a tags file
  21. #        checkout     --> checkout all files
  22. #
  23.  
  24. #
  25. # The following variables must be set by you
  26. #
  27. NAME                    = xinetd
  28. VERSION                = 2.0.6
  29.  
  30. #
  31. # Possible flags that can be defined in DEFS:
  32. #
  33. #     -DNO_POSIX_TYPES  if your OS does not know about POSIX types like pid_t
  34. #     -DNO_TERMIOS      if you don't have /usr/include/sys/termios.h
  35. #     -DOLD_WAIT        if your OS supports union wait
  36. #     -DNO_RPC          if your OS does not support RPC
  37. #     -DNO_SIGLIST      if your C library does not contain sys_siglist
  38. #
  39. # A note about signal handling:
  40. #  Case 1: POSIX signal handling is supported
  41. #     You don't need to define anything
  42. #  Case 2: BSD signal handling is supported (i.e. sigvec(2))
  43. #     Use -DNO_POSIX_SIGS
  44. #  Case 3: None of the above
  45. #     Use -DNO_POSIX_SIGS and -DNO_SIGVEC
  46. #
  47. # Available debug flags:
  48. #     DEBUG                      code is being debugged
  49. #     DEBUG_SERVER               forked server will do a sleep
  50. #     DEBUG_INTERCEPTOR          forked interceptor will do a sleep
  51. #     DEBUG_SIGNALS              code that handles SIGSEGV and SIGBUS
  52. #     DEBUG_LOGGING              forked logging server will do a sleep
  53. #     DEBUG_SHUTDOWN             forked shutdown server will do a sleep
  54. #     DEBUG_TPCINT               enable debugging code in the tcp interceptor
  55. #     DEBUG_UDPINT               enable debugging code in the udp interceptor
  56. #
  57. DEFS=-DDEBUG -DDEBUG_SIGNALS
  58.  
  59. DEBUG                    = -g                    # either -g or -O
  60. LDFLAGS                = -L$(LIBDIR)$(DEBUG)
  61. LIBS                    = -lsio -lmisc -lstr -lfsma -lpset -lxlog
  62.  
  63. HDRS                    =    \
  64.                             access.h \
  65.                             addr.h \
  66.                             attr.h \
  67.                             builtin.h \
  68.                             conf.h config.h connection.h \
  69.                             defs.h \
  70.                             flags.h \
  71.                             int.h \
  72.                             log.h logoptions.h \
  73.                             mask.h \
  74.                             parse.h \
  75.                             sconf.h server.h service.h state.h
  76.  
  77. SRCS                    =    \
  78.                             access.c addr.c \
  79.                             builtins.c \
  80.                             child.c conf.c connection.c \
  81.                             env.c exit.c \
  82.                             flags.c \
  83.                             ident.c init.c int.c intcommon.c internals.c \
  84.                             log.c logctl.c \
  85.                             main.c msg.c \
  86.                             nvlists.c \
  87.                             parse.c parsers.c \
  88.                             reconfig.c retry.c \
  89.                             sconf.c server.c service.c servtab.c shutdown.c \
  90.                                 signals.c special.c \
  91.                             tcpint.c time.c \
  92.                             udpint.c util.c
  93.  
  94. OBJS                    =    \
  95.                             access.o addr.o \
  96.                             builtins.o \
  97.                             child.o conf.o connection.o \
  98.                             env.o exit.o \
  99.                             flags.o \
  100.                                 ident.o init.o int.o intcommon.o internals.o \
  101.                             log.o logctl.o \
  102.                             main.o msg.o \
  103.                             nvlists.o \
  104.                             parse.o parsers.o \
  105.                             reconfig.o retry.o \
  106.                             sconf.o server.o service.o servtab.o shutdown.o \
  107.                                 signals.o special.o \
  108.                             tcpint.o time.o \
  109.                             udpint.o util.o
  110.  
  111. OPT=options.opt
  112.  
  113. OPT_SOURCE=options.c
  114. OPT_HEADER=options.h
  115. OPT_OBJECT=options.o
  116.  
  117. SOURCES                = $(SRCS) $(OPT_SOURCE)
  118. HEADERS                = $(HDRS) $(OPT_HEADER)
  119. OBJECTS                = $(OBJS) $(OPT_OBJECT)
  120.  
  121. INCLUDEDIR            = -I$(HOME)/.links/includes
  122. MANPATHDIR            = -I$(HOME)/.links/manpages    # path up to man{1,2,etc}
  123. INSTALLDIR            = /usr/etc
  124.  
  125.  
  126. #
  127. # You may modify the following variables but you probably don't need to.
  128. #
  129.  
  130. PROGRAM                = $(NAME)
  131. MANSECTION            = 1
  132. MANSUBSECTION        =                        # like V,X,l
  133. MANPAGE                = $(PROGRAM).$(MANSECTION)$(MANSUBSECTION)
  134. MANDIR                = $(MANPATHDIR)/man$(MANSECTION)
  135.  
  136. CC                        = cc            # used for compiler-specific options
  137. CC_FLAGS                = $(DEBUG)    # used for generic options
  138.  
  139. XMODE                    = -m 700                # mode for executables
  140. FMODE                    = -m 640                # mode for anything but executables
  141. INSTALL                = install -c
  142.  
  143. LINT_FLAGS            = -hbux
  144. PAGER                    = less
  145.  
  146. CPP_DEFS                = $(VERSION_DEF) $(DEFS)
  147.  
  148. #
  149. # The following variables do not need to be changed
  150. #
  151.  
  152. VERSION_DEF            = -DVERSION=\"$(PROGRAM)\ Version\ $(VERSION)\"
  153. CPP_FLAGS            = $(CPP_DEFS) $(INCLUDEDIR)
  154. CFLAGS                = $(CPP_FLAGS) $(CC_FLAGS)
  155.  
  156. all: $(PROGRAM) itox
  157.  
  158. itox: itox.c
  159.     $(CC) $(DEBUG) $(INCLUDEDIR) itox.c -o $@ $(LDFLAGS) -lmisc -lsio -lstr
  160.  
  161. $(PROGRAM): $(OBJECTS)
  162.     $(CC) $(DEBUG) -o $@ $(OBJECTS) $(LDFLAGS) $(LIBS)
  163.  
  164. tags: $(HEADERS) $(SOURCES)
  165.     ctags -w $(HEADERS) $(SOURCES)
  166.  
  167. checkout:
  168.  
  169. lint:
  170.     lint $(LINT_FLAGS) $(CPP_FLAGS) $(MODULE) 2>&1 | $(PAGER)
  171.  
  172. lintall: $(OPT_HEADER)
  173.     lint $(LINT_FLAGS) $(CPP_FLAGS) $(SOURCES) 2>&1 | $(PAGER)
  174.  
  175. LINT_IGNORE=RCSid|warning: possible pointer alignment problem|warning: argument op unused|warning: struct/union iovec never defined|warning: null effect|(sigprocmask|sigaction) multiply declared|argument code unused
  176.  
  177. lintq: $(OPT_HEADER)
  178.     lint $(LINT_FLAGS) $(CPP_FLAGS) $(SOURCES) 2>&1 | egrep -v '$(LINT_IGNORE)' | $(PAGER)
  179.  
  180. clean:
  181.     rm -f $(OBJECTS) $(PROGRAM) core
  182.  
  183. xclean: clean
  184.     rm -f $(OPT_SOURCE) $(OPT_HEADER)
  185.  
  186. install: $(PROGRAM)
  187.     $(INSTALL) $(XMODE) $(PROGRAM) $(INSTALLDIR)
  188.     if test "$(MANPAGE)" -a "$(MANDIR)" ; then $(INSTALL) $(FMODE) $(MANPAGE) $(MANDIR) ; fi
  189.  
  190. uninstall:
  191.     a=`pwd` ; cd $(INSTALLDIR) ;\
  192.     if test $$a != `pwd` ; then rm -f $(PROGRAM) ; fi
  193.     a=`pwd` ; cd $(MANDIR) ;\
  194.     if test $$a != `pwd` ; then rm -f $(MANPAGE) ; fi
  195.  
  196. #
  197. # Distribution section
  198. # This section contains the 2 targets for distribution support: dist, dirs
  199. # "dist" checks out all files to be distributed
  200. # "dirs" prints a list of directories to be included in the distribution.
  201. # These directories should have a Makefile with a "dist" target
  202. #
  203. SUPPORT_FILES            = sample.conf PORTING BUG-REPORTS itox.c README.FIRST
  204. DISTRIBUTION_FILES    = $(HDRS) $(SRCS) $(MANPAGE) $(SUPPORT_FILES)
  205. DIRS                        =
  206.  
  207. dist1:
  208.  
  209. dist: dist1 $(OPT_SOURCE) $(OPT_HEADER)
  210.     -co -q $(DISTRIBUTION_FILES)
  211.  
  212. dirs:
  213.     @echo $(DIRS)
  214.  
  215. #
  216. # This part of the file shows how to make $(OBJECTS) 
  217. #
  218.  
  219.  
  220.  
  221. #
  222. # Header file dependencies
  223. #
  224. addr.h: defs.h
  225.     if test -f $@ ; then touch $@ ; else echo $@ is missing ; exit 1 ; fi
  226.  
  227. builtin.h: defs.h
  228.     if test -f $@ ; then touch $@ ; else echo $@ is missing ; exit 1 ; fi
  229.  
  230. conf.h: service.h
  231.     if test -f $@ ; then touch $@ ; else echo $@ is missing ; exit 1 ; fi
  232.  
  233. int.h: server.h
  234.     if test -f $@ ; then touch $@ ; else echo $@ is missing ; exit 1 ; fi
  235.  
  236. parse.h: defs.h
  237.     if test -f $@ ; then touch $@ ; else echo $@ is missing ; exit 1 ; fi
  238.  
  239. sconf.h: defs.h log.h mask.h
  240.     if test -f $@ ; then touch $@ ; else echo $@ is missing ; exit 1 ; fi
  241.  
  242. server.h: defs.h service.h connection.h
  243.     if test -f $@ ; then touch $@ ; else echo $@ is missing ; exit 1 ; fi
  244.  
  245. service.h: defs.h sconf.h builtin.h
  246.     if test -f $@ ; then touch $@ ; else echo $@ is missing ; exit 1 ; fi
  247.  
  248. state.h: mask.h sconf.h conf.h
  249.     if test -f $@ ; then touch $@ ; else echo $@ is missing ; exit 1 ; fi
  250.  
  251. connection.h: mask.h service.h
  252.     if test -f $@ ; then touch $@ ; else echo $@ is missing ; exit 1 ; fi
  253.  
  254. #
  255. # Object file dependencies
  256. #
  257. access.o:         access.h addr.h connection.h service.h state.h
  258. addr.o:             addr.h defs.h
  259. builtins.o:     builtin.h config.h defs.h server.h
  260. child.o:         attr.h server.h state.h $(OPT_HEADER)
  261. conf.o:             attr.h conf.h config.h defs.h service.h state.h 
  262. connection.o:    connection.h state.h
  263. sconf.o:            addr.h attr.h defs.h sconf.h state.h
  264. env.o:            attr.h defs.h sconf.h 
  265. exit.o:            server.h state.h
  266. flags.o:            defs.h flags.h state.h
  267. ident.o:            defs.h server.h
  268. init.o:            defs.h conf.h config.h state.h $(OPT_HEADER)
  269. int.o:            config.h defs.h int.h server.h
  270. intcommon.o:    config.h defs.h int.h server.h state.h
  271. internals.o:    conf.h config.h server.h service.h state.h
  272. log.o:            access.h defs.h logoptions.h server.h state.h
  273. logctl.o:        config.h defs.h log.h service.h state.h
  274. main.o:            service.h state.h
  275. msg.o:            config.h defs.h state.h $(OPT_HEADER)
  276. nvlists.o:        defs.h logoptions.h service.h
  277. parse.o:            addr.h attr.h conf.h defs.h parse.h service.h
  278. parsers.o:        addr.h config.h defs.h parse.h sconf.h
  279. reconfig.o:        access.h conf.h defs.h server.h service.h state.h
  280. retry.o:            access.h config.h connection.h server.h state.h
  281. server.o:        access.h config.h connection.h logoptions.h server.h state.h
  282. service.o:        access.h attr.h config.h connection.h logoptions.h server.h service.h state.h $(OPT_HEADER)
  283. servtab.o:        service.h state.h
  284. shutdown.o:        defs.h
  285. signals.o:        config.h defs.h flags.h state.h
  286. special.o:        attr.h builtin.h conf.h config.h connection.h server.h state.h $(OPT_HEADER)
  287. tcpint.o:        access.h config.h defs.h int.h 
  288. time.o:            defs.h
  289. udpint.o:        access.h config.h defs.h int.h
  290. util.o:            config.h defs.h
  291.  
  292.